#include <iostream>
#include <vector>
#include <chrono> // 用于测量运行时间
using namespace std;

// int main()
// {
//     const int N = 1000000;
//
//     // 未预分配空间
//     auto start1 = std::chrono::high_resolution_clock::now();
//     std::vector<int> vec1;
//     for (int i = 0; i < N; ++i)
//     {
//         vec1.push_back(i);
//     }
//     auto end1 = std::chrono::high_resolution_clock::now();
//
//     // 预分配空间
//     auto start2 = std::chrono::high_resolution_clock::now();
//     std::vector<int> vec2;
//     vec2.reserve(N);
//     for (int i = 0; i < N; ++i)
//     {
//         vec2.push_back(i);
//     }
//     auto end2 = std::chrono::high_resolution_clock::now();
//
//     // 输出时间
//     std::cout << "未预分配空间时间: "
//               << std::chrono::duration_cast<std::chrono::milliseconds>(end1 - start1).count()
//               << " ms" << std::endl;
//
//     std::cout << "预分配空间时间: "
//               << std::chrono::duration_cast<std::chrono::milliseconds>(end2 - start2).count()
//               << " ms" << std::endl;
//
//     return 0;
// }

// int main()
// {
//     vector<int> v;
//     auto pos = find(v.begin(), v.end(), 3);
//
//     if(pos != v.end())
//     {
//         v.erase(pos);
//     }
//     for(auto e : v)
//     {
//         cout << e << " ";
//     }
//     cout << endl;
// }

int main()
{
    vector<int> v{1,2,3,4,5,6};

    auto it = v.begin();

    v.resize(100,8);
    v.reserve(100);
    v.insert(v.begin(), 0);
    v.push_back(6);
    v.assign(100,8);

    while(it != v.end())
    {
        cout << *it << endl;
        ++it;
    }
    cout << endl;
    return 0;
}
